#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
using namespace std;

//class Solution {
//public:
//    vector<int> countBits(int n)
//    {
//        vector<int> ans(n + 1);
//        ans[0] = 0;
//        for (int i = 1; i <= n; i++)
//        {
//            int count = 0;
//            while (n)
//            {
//                n &= n - 1;
//                count++;
//            }
//            ans[i] = count;
//        }
//        return ans;
//    }
//};

class Solution {
public:
    int hammingDistance(int x, int y)
    {
        int count = 0;
        for (int i = 0; i <= 31; i++)
        {
            if (x == 0 && y == 0)
                break;
            int a = x & 1;
            int b = y & 1;
            if ((a ^ b) == 1)
            {
                count++;
            }
            x >>= 1;
            y >>= 1;
        }
        return count;
    }
};

int main()
{
    Solution s;
   int n = s.hammingDistance(1, 4);

    return 0;
}